It is now common for operating systems to have a shell which provides a graphical user interface (GUI). The shell is a piece of software (either a separate program or component part of the operating system) that provides direct communication between the user and the operating system. The graphical user interface typically provides a graphical icon-oriented and/or menu driven environment for the user to interact with the operating system.
The graphical user interface of many operating system shells is based on a desktop metaphor. More specifically, the graphical user interface is intended to create a graphical environment which simulates working at a desk. These graphical user interfaces typically employ a windowing environment with a desktop.
The windowing environment presents the user with specially delineated areas of the screen called windows, each of which is dedicated to a particular application program, file or document. Each window can act independently, as if it were a virtual display device under control of its particular application program. Windows can typically be resized, moved around the display, and stacked so as to overlay another. In some windowing environments, windows can be minimized to an icon or increased to a full-screen display. Usually, the windows have a top to bottom order in which they are displayed, with top windows at a particular location on the screen overlaying any other window at that same location. The top-most window has the "focus" and accepts the user's input. The user can switch other windows to the top by clicking with a mouse or other pointer device, or by inputting certain key combinations. This allows the user to work with multiple application programs, files and documents in a similar manner as physically working with multiple paper documents and items which can be arbitrarily stacked or arranged on an actual desk.
The desktop of the graphical user interface is a screen display containing icons representing programs, files and resources available to the user. As such, the desktop acts as a launching point for running application programs, opening documents or files, and initiating operating system services. In accordance with the desktop metaphor, the desktop simulates the top of an actual desk on which various work items are made available to the office worker. The desktop in some graphical user interfaces thus includes icons representing resources found on a real desk, such as a file cabinet, telephone, wastebasket, and scratchpad, which are used to access their computer equivalents. In typical graphical user interfaces, the desktop always remains as a full-screen background display relative to the windowing environment. In other words, the desktop cannot be moved or resized, and all visible windows of the windowing environment overlay the desktop as would paper documents and other items on top of an actual desk.
A drawback to many prior desktops is their limited capacity to present multi-media content enhancements. For example, the shell of the Microsoft Windows.RTM. 95 operating system provides a graphical user interface with a windowing environment and a desktop. As a default, this desktop includes a "my computer" icon, a "network neighborhood" icon, and a "recycle bin" icon against a solid color background, and also includes a task bar along a bottom edge of the screen with a "start" button for menu-driven interaction. It is possible to add additional icons onto this desktop to represent other application programs, documents, files, and resources. The start menu also can be customized to include additional items, such as for launching particular applications, and opening documents or files. Further, a graphic image can be selected as a background of the desktop (called "wallpaper") in place of the default solid color background.
Other aspects of the Windows.RTM. 95 shell also are limited in their capacity to present multi-media content enhancements. In particular, the shell provides windowed folder views accessed through the my computer and network neighborhood icons that represent the contents (i.e., files and sub-folders) of a directory or folder in the file system of the computer or a connected local area network (LAN). The folder views have four display modes: large icon, small icon, list and detail. In the icon modes, the folder view displays icons representing the files and sub-folders in a window against a white background. The icons used to represent the files and sub-folders in the folder view are dependent on the type or format of the file, e.g., documents having a Microsoft Word format are represented with an icon indicative of that application program. In the list and detail modes, the folder view displays a text listing of the files and sub-folders in its window also against a white background.
An add-on product for the Microsoft Windows.RTM. 95 operating system, called the Microsoft Windows.RTM. 95 Plus Pack, includes packaged enhancements called "themes" for the graphical user interface of the Windows.RTM. 95 operating system. Each theme includes a group of resources which alter the appearance and feel of the graphical user interface. These resources include substitute icons, mouse pointer graphics and animations, sounds, a wallpaper, and a screen saver. A particular theme can be selected and applied to the graphical user interface using a themes applet which the plus pack installs into the Windows.RTM. 95 control panel (an application program group which includes small application programs or applets that control various aspects of the operating system). Again however, the themes provide only limited multi-media content enhancements to the desktop. The applied theme can change the desktop's wallpaper, and the graphics of the my computer, network neighborhood and recycle bin icons.
In contrast to the limited capacity for multi-media enhancement on the desktop, multi-media content commonly appears in a windowed application program in the graphical user interfaces of Windows.RTM. 95 and like operating system shells. Application programs which present multi-media content include desktop publishing, video games, multi-media encyclopedias and like references, Internet browsers, and many others. Since the windowed application programs are separate and independent of the desktop, the multi-media content presented in the application program windows cannot effectively enhance the presentation on the desktop itself.
Further, multi-media content is made available in numerous formats. Still images are available in JPEG (Joint Photographic Experts Group), GIF, BMP (Windows.RTM. bitmap), and other file formats. Sounds are distributed in WAV (wave), MIDI and other file formats. Video is distributed in MPEG (Motion Picture Experts Group), AVI and other file formats. The hypertext markup language (HTML) format is widely used to distribute documents or pages including text, images, video and sound on the World-Wide Web of the Internet. Three dimensional environments are now being developed in virtual reality markup language (VRML) and other formats. These various multi-media formats provide a facility for expressing multi-media content, but do not of themselves provide a facility for providing desktop functionality with multi-media enhancement.
The present invention provides multi-media content enhancements to the desktop of an operating system's graphical user interface. In one system according to the invention, an operating system shell synthesizes the display for the desktop into a hypertext multimedia document format (the HTML format, for example). The synthesized document includes the graphical icon oriented and menu driven user interface elements of the desktop, and also can include multi-media enhancements, such as text, graphics, sounds, animations, video, hypertext links, etc. These enhancements can add informative or explanatory content to the desktop, or otherwise customize the appearance and/or behavior of the desktop. The shell also acts as a hypertext multimedia document viewing software to display the synthesized document as the desktop in a graphical user interface, preferably as a full-screen background display to a windowing environment.
According to one aspect of the invention, the shell synthesizes the hypertext multimedia document from a template which contains the multi-media enhancements or references to the enhancements. The shell includes a pre-processor which processes the template and produces the synthesized document which is to be displayed as the desktop. This pre-processor converts soft or variable parameters into data in the hypertext multimedia document's format which is output in the synthesized document for display with the multi-media enhancements. The templates also contain document data for output in the synthesized document to cause embedding of a software object or objects in the displayed view of the synthesized document. These software objects implement the functionality of the desktop's graphical icon-oriented and/or menu driven user interface elements which control operating system and/or file system services. When the synthesized document is then displayed as the desktop in the graphical user interface, the object(s) provide the user interface features and functionality (e.g., for launching application programs, opening documents and files, drag and drop functionality, etc.) of the desktop. By embedding the objects in the synthesized document, these user interface features are displayed in combination with the multi-media enhancements by the shell.
According to a further aspect of the invention, the shell also synthesizes hypertext multimedia documents for display as the folder views and other displays in the shell's graphical user interface. The hypertext multimedia documents for the various displays are synthesized from templates which are identified in a configuration or ".ini" file. When the user navigates to one of the displays, the shell looks up the appropriate template to use for the display. The shell then processes the template into a hypertext multimedia document with embedded objects to provide the user interface elements required for the display (e.g., the graphical icons and drag and drop functionality in a folder view). The synthesized document is then displayed by the shell. The shell is thus able to provide multi-media content enhancements to these additional shell displays.
Synthesizing the desktop and other displays from templates further allows the multi-media enhancements to be easily and flexibly added and changed. The templates are in the format of the hypertext multimedia documents, and additionally contain directives to replace soft parameters by the pre-processor. The enhancements provided by the templates can be altered by editing the templates using hypertext document editing software or even a text editor. Alternatively, a new template or complete set of templates can be swapped in by changing entries in the configuration file. Accordingly, the overall appearance and behavior of the shell can be immediately changed by substituting the set of templates identified in the configuration files.
In an embodiment of the invention illustrated herein, the synthesized documents for the various displays are displayed in a single designated area or frame in the graphical user interface, such as the full-screen background display area of the windowing environment. As the user navigates from one display (e.g., the desktop) to another (e.g., a folder view), the shell switches the hypertext document displayed in the designated area in a fashion similar to navigating a hyperlink between hypertext documents.
The shell in the illustrated embodiment further operates as viewer or browser of hypertext documents. In addition to the synthesized hypertext documents for shell displays, the shell also displays and navigates between other hypertext documents, such as those available from the Internet. The shell thus extends hyperlink navigation and the rich multi-media content of hypertext documents to the shell's graphical user interface.
Additional features and advantages of the invention will be made apparent from the following detailed description of an illustrated embodiment which proceeds with reference to the accompanying drawings.